package com.yyaccp.hncc.common.vo.dms;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import org.dozer.Mapping;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 何磊
 * @date 2020/8/30
 */
public class DmsRegistrationPatientVO {

    /**
     * id
     */
    @ApiModelProperty(value = "id", example = "")
    private Long id;

    /**
     * 患者id
     */
    @ApiModelProperty(value = "患者id", example = "")
    @Excel(name = "患者id")
    @Mapping(value = "pmsPatient.id")
    private Long patientId;

    /**
     * 诊断状态
     */
    @ApiModelProperty(value = "诊断状态", example = "")
    @Excel(name = "诊断状态")
    private Integer endAttendance;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态", example = "")
    @Excel(name = "状态")
    private Integer status;

    /**
     * 排班id
     */
    @ApiModelProperty(value = "排班id", example = "")
    @Excel(name = "排班id")
    private Long skdId;

    /**
     * 是否需要病历本
     */
    @ApiModelProperty(value = "是否需要病历本", example = "")
    @Excel(name = "是否需要病历本")
    private Integer needBook;

    /**
     * 绑定状态
     */
    @ApiModelProperty(value = "绑定状态", example = "")
    @Excel(name = "绑定状态")
    private Integer bindStatus;

    /**
     * 科室id
     */
    @ApiModelProperty(value = "科室id", example = "")
    @Excel(name = "科室id")
    private Long deptId;

    /**
     * 就诊日期
     */
    @ApiModelProperty(value = "就诊日期", example = "")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "就诊日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date attendanceDate;

    /**
     * 就诊年龄
     */
    @ApiModelProperty(value = "就诊年龄", example = "")
    @Excel(name = "就诊年龄")
    private String patientAgeStr;

    /**
     * 出生日期
     */
    @Mapping(value = "pmsPatient.dateOfBirth")
    @ApiModelProperty(value = "出生日期", example = "")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期")
    private Date dateOfBirth;

    /**
     * 看诊科目
     */
    @Mapping(value = "sysDept.deptName")
    @ApiModelProperty(value = "看诊科目", example = "")
    @Excel(name = "看诊科目")
    private String deptName;

    /**
     * 病历号
     */
    @Mapping(value = "pmsPatient.medicalRecordNo")
    @ApiModelProperty(value = "病历号", example = "")
    @Excel(name = "病历号")
    private String medicalRecordNo;

    /**
     * 患者姓名
     */
    @Mapping(value = "pmsPatient.name")
    @ApiModelProperty(value = "姓名", example = "")
    @Excel(name = "姓名")
    private String name;

    /**
     * 患者性别
     */
    @Mapping(value = "pmsPatient.gender")
    @ApiModelProperty(value = "性别", example = "")
    @Excel(name = "性别")
    private Integer gender;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    @ApiModelProperty(value = "家庭住址", example = "")
    @Mapping(value = "pmsPatient.homeAddress")
    private String homeAddress;

    /** 身份证号 */
    @Excel(name = "身份证号")
    @ApiModelProperty(value = "身份证号", example = "")
    @Mapping(value = "pmsPatient.identificationNo")
    private String identificationNo;


    /** 联系方式 */
    @Excel(name = "联系方式")
    @ApiModelProperty(value = "联系方式", example = "")
    @Mapping(value = "pmsPatient.phoneNo")
    private String phoneNo;

    /** 挂号级别id */
    @Excel(name = "号别id")
    @ApiModelProperty(value = "号别id", example = "")
    private Long registrationRankId;


    /** 午别 */
    @Excel(name = "午别")
    @ApiModelProperty(value = "午别", example = "")
    private Long noon;


    /** 医生id */
    @Excel(name = "医生id")
    @ApiModelProperty(value = "医生id", example = "")
    private Long staffId;

    /** 应收金额 */
    @Excel(name = "应收金额")
    @ApiModelProperty(value = "应收金额", example = "")
    private BigDecimal price;


    /** 支付方式id */
    @Excel(name = "支付方式id")
    @ApiModelProperty(value = "支付方式id", example = "")
    private Long catId;

    /** 发票号 */
    @Excel(name = "发票号")
    @ApiModelProperty(value = "发票号", example = "")
    private Long invoiceNo;

    public Long getInvoiceNo() {
        return invoiceNo;
    }

    public void setInvoiceNo(Long invoiceNo) {
        this.invoiceNo = invoiceNo;
    }

    @Override
    public String toString() {
        return "DmsRegistrationVO{" +
                "id=" + id +
                ", patientId=" + patientId +
                ", endAttendance=" + endAttendance +
                ", status=" + status +
                ", skdId=" + skdId +
                ", needBook=" + needBook +
                ", bindStatus=" + bindStatus +
                ", deptId=" + deptId +
                ", attendanceDate=" + attendanceDate +
                ", patientAgeStr='" + patientAgeStr + '\'' +
                ", dateOfBirth=" + dateOfBirth +
                ", deptName='" + deptName + '\'' +
                ", medicalRecordNo='" + medicalRecordNo + '\'' +
                ", name='" + name + '\'' +
                ", gender=" + gender +
                ", homeAddress='" + homeAddress + '\'' +
                ", identificationNo='" + identificationNo + '\'' +
                ", phoneNo='" + phoneNo + '\'' +
                ", registrationRankId=" + registrationRankId +
                ", noon=" + noon +
                ", staffId=" + staffId +
                ", price=" + price +
                ", catId=" + catId +
                '}';
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getPatientId() {
        return patientId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public Integer getEndAttendance() {
        return endAttendance;
    }

    public void setEndAttendance(Integer endAttendance) {
        this.endAttendance = endAttendance;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Long getSkdId() {
        return skdId;
    }

    public void setSkdId(Long skdId) {
        this.skdId = skdId;
    }

    public Integer getNeedBook() {
        return needBook;
    }

    public void setNeedBook(Integer needBook) {
        this.needBook = needBook;
    }

    public Integer getBindStatus() {
        return bindStatus;
    }

    public void setBindStatus(Integer bindStatus) {
        this.bindStatus = bindStatus;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Date getAttendanceDate() {
        return attendanceDate;
    }

    public void setAttendanceDate(Date attendanceDate) {
        this.attendanceDate = attendanceDate;
    }

    public String getPatientAgeStr() {
        return patientAgeStr;
    }

    public void setPatientAgeStr(String patientAgeStr) {
        this.patientAgeStr = patientAgeStr;
    }

    public Date getDateOfBirth() {
        return dateOfBirth;
    }

    public void setDateOfBirth(Date dateOfBirth) {
        this.dateOfBirth = dateOfBirth;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getMedicalRecordNo() {
        return medicalRecordNo;
    }

    public void setMedicalRecordNo(String medicalRecordNo) {
        this.medicalRecordNo = medicalRecordNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getHomeAddress() {
        return homeAddress;
    }

    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }

    public String getIdentificationNo() {
        return identificationNo;
    }

    public void setIdentificationNo(String identificationNo) {
        this.identificationNo = identificationNo;
    }

    public String getPhoneNo() {
        return phoneNo;
    }

    public void setPhoneNo(String phoneNo) {
        this.phoneNo = phoneNo;
    }

    public Long getRegistrationRankId() {
        return registrationRankId;
    }

    public void setRegistrationRankId(Long registrationRankId) {
        this.registrationRankId = registrationRankId;
    }

    public Long getNoon() {
        return noon;
    }

    public void setNoon(Long noon) {
        this.noon = noon;
    }

    public Long getStaffId() {
        return staffId;
    }

    public void setStaffId(Long staffId) {
        this.staffId = staffId;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Long getCatId() {
        return catId;
    }

    public void setCatId(Long catId) {
        this.catId = catId;
    }


}
